table of contents
        
      
      
    | lsm_volume_raid_info(3) | Libstoragemgmt C API Manual | lsm_volume_raid_info(3) | 
NAME¶
lsm_volume_raid_info - Retrieves the RAID information of specified volume
SYNOPSIS¶
int lsm_volume_raid_info (lsm_connect *conn, lsm_volume *volume, lsm_volume_raid_type *raid_type, uint32_t *strip_size, uint32_t *disk_count, uint32_t *min_io_size, uint32_t *opt_io_size, lsm_flag flags);
ARGUMENTS¶
- conn
- Valid connection.
- volume
- Pointer of lsm_volume.
- raid_type
- lsm_volume_raid_type. Valid values are: LSM_VOLUME_RAID_TYPE_RAID0
    
 Stripe. LSM_VOLUME_RAID_TYPE_RAID1
 Two disks Mirror LSM_VOLUME_RAID_TYPE_RAID3
 Byte-level striping with dedicated parity LSM_VOLUME_RAID_TYPE_RAID4
 Block-level striping with dedicated parity LSM_VOLUME_RAID_TYPE_RAID5
 Block-level striping with distributed parity LSM_VOLUME_RAID_TYPE_RAID6
 Block-level striping with two distributed parities,
 aka, RAID-DP LSM_VOLUME_RAID_TYPE_RAID10
 Stripe of mirrors LSM_VOLUME_RAID_TYPE_RAID15
 Parity of mirrors LSM_VOLUME_RAID_TYPE_RAID16
 Dual parity of mirrors LSM_VOLUME_RAID_TYPE_RAID50
 Stripe of parities LSM_VOLUME_RAID_TYPE_RAID60
 Stripe of dual parities LSM_VOLUME_RAID_TYPE_RAID51
 Mirror of parities LSM_VOLUME_RAID_TYPE_RAID61
 Mirror of dual parities LSM_VOLUME_RAID_TYPE_JBOD
 Just bunch of disks, no parity, no striping. LSM_VOLUME_RAID_TYPE_UNKNOWN
 The plugin failed to detect the volume's RAID type. LSM_VOLUME_RAID_TYPE_MIXED
 This volume contains multiple RAID settings. LSM_VOLUME_RAID_TYPE_OTHER
 Vendor specific RAID type
- strip_size
- uint32_t. The size of strip on each disk or other storage extent. For RAID1/JBOD, it should be set as sector size. If plugin failed to detect strip size, it should be set as LSM_VOLUME_STRIP_SIZE_UNKNOWN(0).
- disk_count
- uint32_t. The count of disks used for assembling the RAID group(s) where this volume allocated from. For any RAID system using the slice of disk, this value indicate how many disk slices are used for the RAID. For example, on LVM RAID, the 'disk_count' here indicate the count of PVs used for certain volume. Another example, on EMC VMAX, the 'disk_count' here indicate how many hyper volumes are used for this volume. For any RAID system using remote LUN for data storing, each remote LUN should be count as a disk. If the plugin failed to detect disk_count, it should be set as LSM_VOLUME_DISK_COUNT_UNKNOWN(0).
- min_io_size
- uint32_t. The minimum I/O size, device preferred I/O size for random I/O. Any I/O size not equal to a multiple of this value may get significant speed penalty. Normally it refers to strip size of each disk(extent). If plugin failed to detect min_io_size, it should try these values in the sequence of: logical sector size -> physical sector size -> LSM_VOLUME_MIN_IO_SIZE_UNKNOWN(0).
- opt_io_size
- uint32_t. The optimal I/O size, device preferred I/O size for sequential I/O. Normally it refers to RAID group stripe size. If plugin failed to detect opt_io_size, it should be set to LSM_VOLUME_OPT_IO_SIZE_UNKNOWN(0).
- flags
- Reserved for future use, must be LSM_CLIENT_FLAG_RSVD.
VERSION¶
1.2.
DESCRIPTION¶
Retrieves the RAID information of specified volume.
CAPABILITY¶
LSM_CAP_VOLUME_RAID_INFO
RETURN¶
Error code as enumerated by 'lsm_error_number'.
  
   * LSM_ERR_OK
  
   On success.
  
   * LSM_ERR_INVALID_ARGUMENT
  
   When any argument is NULL or invalid flags.
  
   * LSM_ERR_NO_SUPPORT
  
   Not supported.
| lsm_volume_raid_info | May 2019 |